Technical Field
The present disclosure relates to storage systems and, more specifically, to efficient caching of metadata in memory of a storage system.
Background Information
A storage system typically includes a processor coupled to a memory and one or more storage devices, such as disks embodied as hard disk drives (HDDs) or solid state drives (SSDs), into which information may be entered, and from which information may be obtained, as desired. The storage system may implement a high-level module, such as a file system, to logically organize the information stored on the disks as storage containers, such as files or logical units (LUNs). Each storage container may be implemented as a set of data structures, such as data blocks that store data for the storage containers and metadata blocks that describe the data of the storage containers. For example, the metadata may describe, e.g., identify, storage locations on the disks for the data.
The file system may be configured to perform de-duplication in support of large provisioned capacities, e.g., of data stored on the storage system. However, the amount of metadata required to support such large provisioned capacities may be substantially greater than the memory (e.g., dynamic random access memory) typically available on the storage system. Therefore, it is desirable to efficiently cache the metadata in memory to support consistent high performance of the system.